This invention relates to a call processing system for a telecommunications network. More particularly, this invention relates to a call processing system that utilizes a generic methodology to resolve feature interactions between the basic call software and the feature software that realize the call processing operation.
Modern telecommunications networks use a layered network architecture that separates the physical elements or hardware (also called xe2x80x9cresourcesxe2x80x9d) and the software that perform a particular network operation. The network operation of call processing, i.e., the connecting of subscribers, comprises basic call software (which governs the functions to connect subscribers together) and call feature software (which governs the operation of feature services). Examples of feature services include call waiting (CW), call forwarding (CF), attendant emergency override (AEO), do not disturb (DND), three-way calling (TWC), etc.
Since the introduction of computer-based switching systems, the number of feature services provided to subscribers has grown dramatically. This has driven network software design to promote feature-related considerations of the call processing operation. Such considerations include fast developmental responses to new switch-based feature requests by subscribers, more varied and specialized features for subscribers, and development of feature software in various network company locations. Modern call software models, for example, of the networks of the recently introduced Intelligent Network (xe2x80x9cINxe2x80x9d) type, handle these feature-related considerations by separating basic call software and call feature software. This separation provides basic call stability while allowing fast feature introductions.
However, the growth of subscriber feature services has caused an even larger growth in the number of interactions between the basic call software and the call feature software (known as xe2x80x9cfeature interactionsxe2x80x9d) to implement features during a call. In existing switching systems, these feature interactions are usually implemented by embedding special feature interaction checks throughout the basic call software. This permits interactions to be resolved despite a constantly growing feature set since all features are located in the same switching system. But, as a consequence of using such hard-coded software (which is customer-specific) with the basic call software, the entire switching system software rather than specific software is required to be upgraded with each new feature that is introduced. Moreover, feature interactions cannot be resolved in this manner in an IN-type network. In such a network, a feature may physically reside in a geographically remote location from the subscriber and the switching system and, thus, each newly introduced IN feature requires new switch software.
The growth of subscriber features has caused a similar problem in the network operation of administration that comprises administration software (which defines system and subscriber line characteristics) and call feature software (which defines the characteristics of call features). In particular, there is now a large number of interactions between the administration software and the call feature software to assign or modify features for respective subscriber lines. As with the call processing operation, these feature interactions are currently implemented by the use of hard-coded software with the administration software and, consequently, have limitations similar to those described above.
Consequently, there is a need for a call processing system that is more flexible in resolving feature interactions, both for the call processing operation and the administration operation.
Briefly, the invention provides a method having the steps of a) executing, at a predefined time during the execution of the operating program, an operation using the data stored in the memory of the call processing system to activate a respective subroutine program, said activation operation being independent of the type of subroutine program to be activated, b) accessing the data stored in the memory for the activation operation of the executing step, said data being arranged in the memory in logical table and bit map format so as to enable the interaction of the respective subroutine program with the operating program to be customized, and c) executing the respective subroutine program upon the activation of said program. The method may also have an additional step of repeating steps a, b, and c for each of a plurality of subroutine programs available to be activated at the predefined time in an order determined by the data regarding the subroutine programs.
The step of executing the activation operation may include data operations with the entries of the data tables and data bit maps, such as, performing bit map logical operations and bit map searching operations with the entries of the data tables and data bit maps. In addition, the step of executing the respective subroutine program may include executing a task by the operating program other than executing the respective subroutine program.
Further, the step of executing the activation operation may include resolving the order of activation of a plurality of subroutine programs at the predefined time, said data defining interactions and priorities of activation among the subroutine programs, while the step of executing the respective subroutine program includes executing each respective subroutine program in the order of activation.
Advantageously, the invention implements a more flexible method to support feature interactions, which in existing systems have an impact on basic call software and require software upgrades with each new feature addition or modification, by the use of administrable data tables (which includes bit maps) and a table-driving algorithm. The table format, which accommodates feature data and subscriber-specific checks, permits such data to be customized as desired and to be checked easily, manually or automatically, guaranteeing feature interaction completeness. Also, by table-driving feature interactions, clear separations between basic call software and call feature software can be supported, so that new feature additions and changes only require administrative inputs rather than software upgrades. Further, the algorithm is feature-independent so that generic software code can be developed for the basic call software. Consequently, basic call software can be developed to control basic call activity and to perform generic table-driving algorithms common to all subscribers while feature software can be developed independently to meet individual subscriber needs.
Advantageously, the invention also provides a set of precise rules that more uniformly defines feature interactions than currently accomplished via the use of interaction specification documents. In addition, the invention centralizes the feature interactions in one location. Further, the invention is IN compatible and provides a base which is useable for current and future IN standards.
The invention may also aid in the managing of networks that are often now composed of elements from different vendors by implementing a call processing design that is functionally split sufficiently to support feature xe2x80x9cpluggabilityxe2x80x9d and to localize the impact of the features to the software. Further, the invention implements a call processing design that has xe2x80x9cbuilding blockxe2x80x9d capabilities which can be controlled from network equipment at subscribers"" premises to allow customized feature development off the network switch and to permit the amount of shared software to be maximized while allowing for localized variants.